The I2bus was developed in the early 1980's to provide an easy way to connect a computer processor unit (CPU) to other peripheral semiconductor devices located in a television set.
Normal computer systems typically use byte-wide or wider buses to accomplish this task. This solution results in a large number of copper tracks on printed circuit boards (PCB's) to route the Address and Data lines required, not to mention the number of address decoders and glue logic required to connect everything. In mass production items such as television sets, video cassette recorders, and audio equipment, this is not an acceptable solution. In these items, each and every component counts regarding the cost of the item- and one component fewer means more money for the producer and a cheaper item for the customer.
Furthermore, a large number of control lines implies that a system is more susceptible to disturbances by Electromagnetic Compatibility (EMC) and Electrostatic Discharge (ESD). The research done by Philips Labs in Eindhoven (The Netherlands) resulted in a two-wire communication bus called the I2bus. I2is an acronym for Inter-IC bus. The I2bus' name literally explains its purpose: to provide a communication link between Integrated Circuits.
Today, the extent of this bus extends much further than audio and video equipment. The I2bus has been generally accepted in industry. Offspring of the I2C bus like D2B bus and ACCESS bus have found their ways into computer peripherals such as keyboards, mice, printers, monitors, etc. The I2bus and progeny have been adopted by several leading chip manufacturers, such as Xicor, SGS-Thomson, Siemens, Intel, TI, Maxim, Atmel, and Analog Devices.
An I2bus physically consists of two active wires and a ground connection. The active wires, “SDA” and “SCL”, are both bidirectional, where SDA is the serial data line and SCL is the serial clock line. Both of these lines are initially bidirectional. This means that these lines can be driven either by the chip or from the outer world. To avoid “the fried chip” effect where a semiconductor die has been damaged, these bus signal lines typically use open-collector or open-drain (depending on the technology) outputs.
The interface with an I2bus (and its progeny) is constructed around an input buffer and an open-drain or open-collector transistor. When nothing is happening on the bus, the two bus lines are in a logic HIGH state or Asserted state. To put some information on the bus, a semiconductor die drives its output transistor, thus pulling the bus to a logic LOW state or a logic negated level state. Typically, an external PULL-UP resistor is then utilized to pull the bus lines back to a logic HIGH state when released by the chip. When the bus is IDLE (nothing going on), both lines are at a logic HIGH state. These pull-up resistors in the devices are often actually small current sources or may be nonexistence.
One advantage of this bus concept is that it has a “built-in” bus mastering technique. Whenever the bus is “occupied” by a semiconductor die that is sending a 0, all other semiconductor dice lose their capability to master the bus themselves and to transmit any logic state.
However, the open collector technique has drawbacks too. Typically, there is a slight current consumption in the bus due to the required pull-ups. This is not typically a problem when a system is utilizing alternating current (AC) power. However, a problem does arise when AC power to the devices on the bus is lost, and some of the devices on the bus have battery backup and others do not. In that case, that pull-up caused current loss will often result as the battery backups are drained. Possibly more important, if some devices lose AC power, they might pull the bus low, thus preventing its operation, while those devices having battery backup require the bus to remain operational during the power outage.
It would thus be advantageous to be able to connect devices with battery backup to a two-wire serial (TWS) bus, such as an I2bus, without having the bus drain the battery backups. It would also be advantageous to allow devices to connect and disconnect from a two wire serial bus without corrupting that bus.